package cyx.example.ddd.application.order.query;

import cyx.example.ddd.domain.order.model.valueobject.OrderStatus;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Currency;
import java.util.List;

/**
 * 订单查询条件
 */
@Data
public class OrderQuery {

    /**
     * 用户ID列表
     */
    private List<String> userIds;

    /**
     * 订单状态列表
     */
    private List<OrderStatus> statuses;

    /**
     * 货币类型
     */
    private Currency currency;

    /**
     * 最小金额
     */
    private Double minAmount;

    /**
     * 最大金额
     */
    private Double maxAmount;

    /**
     * 创建时间开始
     */
    private LocalDateTime createdAtStart;

    /**
     * 创建时间结束
     */
    private LocalDateTime createdAtEnd;

    /**
     * 商品ID
     */
    private String productId;

    /**
     * 排序字段
     */
    private String sortBy = "createdAt";

    /**
     * 排序方向
     */
    private String sortDirection = "DESC";
}